package com.xjscrm.console.service.customer.childUser;

import com.xjscrm.common.entity.MerchatChild;
import com.xjscrm.console.dto.chat.setting.ChatBaseSettingOptDTO;
import com.xjscrm.console.param.BaseDto;
import com.xjscrm.console.param.user.*;
import com.xjscrm.console.vo.ChildMerchantBaseInfoVo;
import com.xjscrm.console.vo.LoginVO;

import java.util.HashMap;
import java.util.List;

public interface ChildMerchatService {
    void addChildMerchat(ChildMerchatDto childMerchatDto);

    ChildMerchantBaseInfoVo getChildMerchantBaseInfo(BaseDto baseDto);

    void changechildMerchantHeadImage(ChangeHeadImageDto changeHeadImageDto);

    void addStaffGroup(StaffGroupDto staffGroupDto);

    Object getStaffGroupList(BaseDto baseDto);


    void updateStaffGroup(StaffGroupDto staffGroupDto);

    void deleStaffGroup(StaffGroupDto staffGroupDto);

    Object getStaffList(ChildMerchatQuery childMerchatQuery);


    void chageGroup(ChageGroupDto chageGroupDto);


    void batchchageGroup(ChageGroupDto chageGroupDto);


    Object getStaffGroupDropDwon(BaseDto baseDto);

    //
    MerchatChild getById(ChildMerchatDto childMerchatDto);

    HashMap<String, Object> updateChildMerchat(ChildMerchatDto childMerchatDto);

    List<String> batchDeleStaff(BatchDeleStaffDto batchDeleStaffDto);


    void batchEditChatLimitCount(LoginVO login, StaffBatchOptDto staffBatchOptDto);

    Object getPppPwd(Long merId);

    MerchatChild getById(Long merId, Long id);

    Boolean editChatNotice(LoginVO login, ChatBaseSettingOptDTO openNotice);

    List<MerchatChild> listByIds(Long merId, List<Long> ids);

    List<MerchatChild> listByIdsAndGroupId(Long merId, List<Long> ids, Long groupId);
}
